#include "thread_pool.hpp"
#include "Task.hpp"

#include <ctime>
#include <cstdlib>

using namespace Mango;

int main()
{
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;
    std::cout << "当前正在运行我的进程其他代码..." << std::endl;

    sleep(3);
    srand((long long)time(nullptr));
    //主线程
    const char* str = "+-*/%";
    while(1)
    {
        sleep(1);
        
        Task t(rand()%20+1, rand()%10+1, str[rand()%5]);
        ThreadPool<Task>::GetInstance()->PushTask(t);//用单例的方式得到这个对象,然后Push
    }
    return 0;
}
